最終課題のProcessingでサーバー云々の話とか

最終課題のバッテリ(900mAh)持ち時間に関して
8/1、14時にフル充電状態で電源ON
翌4~8時の間に切れた模様

∴ArduinoFIOと常時通信しているXBeeでは16時間前後しか持たない
(ArduinoFIOのみでの稼働時間は現在測定中)

Processingでサーバーのコードを書くにあたって
・マルチスレッド化しないとNullPointerを吐いた時に落ちる
・client.writeでひたすらHTMLを垂れ流して、¥n¥nしたのにclient.stopするだけ(多分)

ネットワーク云々の話
・Webサーバにするならポートを80番にするのが一番だが、他のプログラムとポートがバッティングする場合は適宜変更が必要
(その際、WellKnownポートとのバッティングを避けるため1024~65535番を使用すること)
・アクセスはProcessingのサーバーが動いているマシンからはhttp://localhost/でアクセスできる
(12345番ポートの場合は「http://localhost:12345/」、「http://133.27.xxx.yyy:12345/」、「http://www.hoge.com:12345」など)
・外部からアクセスできるようにする場合はwindowsやウイルス対策ソフトのファイヤーウォールで利用するポートに穴をあける必要あり
・また自宅などプライベートIPアドレスしか付与されない環境下においてはポートフォワード等も必要
・大学の無線LANでは利用できるポートが制限されている場合があるためアクセスできないことも(恐らくデモで失敗した原因)
(SFCの000000SFCの場合:HTTP (80)およびHTTPS (443),POP (110), POPS (995), IMAP (143), IMAPS (993), SMTP (465, 587),SSH(22))

今回の製作で作成したコードはこちら

Processing用のFirmataライブラリが必要です

Windowsの場合は
ドキュメント¥Processingの中のlibrariesフォルダに
ダウンロードしてきたライブラリを置いておけばOKです

こんな感じ(フォルダのみ)
Processing
├─DoorStopper(本体はこっち)
│  └─applet
└─libraries(ダウンロードしてきたFirmataライブラリをそのまま)
    └─arduino
        ├─examples
        │  ├─arduino_input
        │  ├─arduino_output
        │  └─arduino_pwm
        ├─Firmata
        │  └─examples
        │      ├─Analog_Firmata
        │      ├─Echo_String
        │      ├─Servo_Firmata
        │      ├─Simple_Analog_Firmata
        │      ├─Simple_Digital_Firmata
        │      └─Standard_Firmata
        ├─library
        └─src

Macの場合は若干異なる・・・のかな?
守屋さんのページを参照してください
http://fab.kin2ku.org/wiki/arduino/firmata

今回参考にしたURL
http://kousaku-kousaku.blogspot.com/2008/11/processinghttpweb.html
http://recotana.com/recotanablog/2007/09/22/73

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください